package cn.maihe.elg.operation.supports.electronicseal.kt.cloudsign.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @Description 返回值为json格式：{code;//结果码,info;//数据,msg;//描述}
 * 当code为0000时，则说明操作成功，info存放json数据
 * signName;// 签署流程名称
 * signState;// 签署状态（2待签章，3已完结，4已超时，5已退回，7已撤回）
 * fileArr;// [{ 文件数组
 * fileId;// 文件id（下载使用）
 * fileName;// 文件名称
 * remark;// 备注
 * }]
 * userInfo;// { 用户信息
 * 用户手机号或信用代码;// {
 * type;// 用户类型（1企业，2个人）
 * name;// 姓名（无值不返回）
 * idCard;// 身份证号（无值不返回）
 * state;// 状态（1待推送，2待签署，3已签署，4已超时，5已退回，6已归档，7已撤回）
 * signTime;// 签章时间（未签不返回，格式：yyyyMMddHHmmss）
 * }
 * }
 * 当code不为0000时，则说明操作失败，msg存放错误信息。
 * @Author caixh
 * @Date 2022/8/10.
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ContractQueryRespDTO {
    private String signName;// 签署流程名称
    private String signState;// 签署状态（2待签章，3已完结，4已超时，5已退回，7已撤回）

    private List<FileArr> fileArr;
    /**
     * key为用户手机号或信用代码
     */
    private Map<String, UserInfo> userInfo;

    @Data
    public static class FileArr implements Serializable {
        private String fileId;// 文件id（下载使用）
        private String fileName;// 文件名称
        private String remark;// 备注
    }

    @Data
    public static class UserInfo implements Serializable {
        private String type;// 用户类型（1企业，2个人）
        private String name;// 姓名（无值不返回）
        private String idCard;// 身份证号（无值不返回）
        private String state;// 状态（1待推送，2待签署，3已签署，4已超时，5已退回，6已归档，7已撤回）
        private String signTime;// 签章时间（未签不返回，格式：yyyyMMddHHmmss）
    }

}
